package com.yoshino.decorator;

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.InputStream;

/**
 * @author yoshino
 **/
public class Test {
    public static void main(String[] args) throws Exception {

        //说明
        //1. InputStream 是抽象类，类似我们前面讲的Drink
        //2. FileInputStream 是 InputStream 子类，类似我们前面的DeCaf,LongBlack
        //3. FilterInputStream 是 InputStream 子类：类似我们前面的Decorator修饰者
        //4. DataInputStream 是 FilterInputStream 子类，具体的修饰者，类似前面的Milk, Soy等
        //5. FilterInputStream 类有 protected volatile InputStream in;即含 被装饰者
        //6. 分析得出在 jdk 的 io 体系中，就是使用装饰者模式

        InputStream dis = new DataInputStream(new FileInputStream("D:\\abc.txt"));

    }
}
